1. Field of Invention
The present invention relates generally to the field of content distribution across a network. More particularly, the present invention is related in one exemplary aspect to the selective caching of video content within a content-based and data network having a set of electronic devices with at least some heterogeneous capabilities so as to inter alia maximize network efficiency.
2. Description of Related Technology
Digital Television
Digital TV (DTV) is a technology which utilizes digitized and compressed data formats (e.g., MPEG) for content transmission, as compared to earlier analog “uncompressed” approaches (e.g., NTSC). The DTV content may be distributed across any number of different types of bearer media or networks with sufficient bandwidth, including HFC, satellite, wireless, or terrestrial.
DTV broadcasts are generally more efficient and more flexible than analog methods. For example, the bandwidth required to transmit video programming using DTV is less than the bandwidth required using analog methods, assuming similar quality of video (and audio). Thus, more video programming can generally be transmitted with a given bandwidth when DTV methods are employed.
A broad variety of electronic devices have recently been developed to utilize and leverage emerging DTV delivery capabilities. The devices often have very different capabilities, and may include e.g., digital set-top boxes (DSTBs), personal computers (PCs) or laptops, personal digital assistants (PDAs), hand-held computers, “smartphones”, personal media devices (PMDs), etc.
These devices can be operatively coupled to, and placed in communication with, other devices (whether of the same or different configuration), or other network entities such as a central information source or server via various channels. The different capabilities of these electronic devices may result from different purposes, designs, different user configuration, being mobile versus fixed in nature, cost/features, etc., and may include differing encryption support capabilities, conditional access profiles, memory and/or processing capability, video or audio codecs, network interfaces, and so forth. Many of these features, including notably the coding/decoding (codec), video resolution, conditional access (CA), and network interface capabilities, are critical to the proper selection, delivery, and playing of content at the end-user device.
The traditional method of digital encoding or compression is the well-known MPEG-2 format. More advanced codecs include H.264 (also known as MPEG-4) and VC-1. H.264 is a high compression digital video codec standard written by the ITU-T Video Coding Experts Group (VCEG) together with the ISO/IEC Moving Picture Experts Group (MPEG) as the product of a collective partnership effort known as the Joint Video Team (JVT). The ITU-T H.264 standard and the ISO/IEC MPEG-4 Part-10 standard (formally, ISO/IEC 14496-10) are highly similar, and the technology is also known as AVC, for Advanced Video Coding. DTV methods of program distribution are also generally more flexible than analog methods. For example, the type of compression may be modified or updated. The compression can be improved when new techniques become available, or they may be customized or optimized for certain applications and attributes such as picture quality, data integrity or transmission delay.
Digital rendering also lends itself to transcoding of content. As used herein, the term “transcoding” refers generally to the process of changing content from one encoding to another. This may be accomplished for example by decoding the encoded content, and then re-encoding this into the target format. Transcoding can also accomplish the encoding of content to a lower bitrate without changing video formats, a process that is known as transrating.
Compression artifacts are typically cumulative; therefore, transcoding between lossy codecs causes a progressive loss of quality with each successive iteration. For this reason, transcoding between lossy codecs is generally discouraged unless unavoidable. It is better to obtain a copy of the content in a lossless format, and then encode directly from the lossless source file to the lossy formats required, thereby causing the minimum degradation.
Transcoding is used in many areas of content adaptation; however, it is commonly employed in the area of mobile phones or devices. In such mobile applications, transcoding is essential due to the diversity of mobile devices. This diversity effectively requires an intermediate state of content adaptation, so as to ensure that the source content will adequately present on the target device (e.g., mobile phone).
On-demand (OD) Content Distribution
In the recent years, content distribution network operators have started moving away from broadcast distribution model; where users had to choose from programs delivered on the network, to on-demand distribution model; where a program is delivered to a user based on his selection.
A video-on-demand (VOD) system is one example of on-demand content distribution. In a typical video-on-demand system, a user can browse and select from a number of multimedia programs available on a VOD server. When a user selects a program to view, the content is suitably delivered from a VOD server (or multiple VOD servers) to a customer premises equipment (CPE) such as the user's set-top box (STB).
Depending on the type of content made available and rate structure for viewing, a particular VOD service could be called “subscription video-on-demand (SVOD)” that gives customers on-demand access to the content for a flat monthly fee, “free video-on-demand (FVOD)” that gives customers free on-demand access to some content, “movies on-demand” where VOD content consists of movies only, and so forth. Many of these services, although referred to by names different than VOD, still share many of the same basic attributes including storage, network and decoder technologies.
Just as different varieties of VOD service offerings have evolved over time, several different network architectures have also evolved for deploying these services. These architectures range from fully centralized (e.g., VOD servers at a central location) to fully distributed (e.g., multiple copies of content distributed on VOD servers very close to customer premises), as well as various other network architectures there between. Since most cable television networks today consist of optical fiber towards the “core” of the network which are connected to coaxial cable networks towards the “edge”, VOD transmission network architectures also consist of a mixture of optical fiber and coaxial cable portions.
The CPE for VOD often consists of a digital cable set-top box (DSTB) that provides the functions of receiving cable signals by tuning to the appropriate RF channel, processing the received signal and outputting VOD signals for viewing on a display unit. Such a digital set-top box also typically hosts a VOD application that enables user interaction for navigation and selection of VOD menu.
In a typical on-demand distribution network, the attributes of the content thus delivered will depend on several factors such as the available network bandwidth, the user's service tier and the video decoding capability of the user's STB.
Emerging Challenges
Expanded on-demand content storage and delivery is giving rise to a new problem; i.e., deciding whether to cache one or more content versions each with certain unique attributes (such as differing video resolution, bitrate and codec requirements) in order to make multiple versions of content immediately available, or rather to transform the content “on the fly” from a source format into a format suitable for a requesting user's target device. At one end of the spectrum, a great number of different encoding/bitrate/encryption variants of each program could be pre-stored. This approach is however very inefficient from a storage consumption standpoint, although will obviate most if not all transcoding or transrating (thereby providing a cost savings since few transcoders/transraters will be needed), and would conceivably also reduce latency associated with servicing each request. At the other end of the spectrum, one could store only one version of a particular content element, and transrate/transcode for most every instance; this would increase cost and latency, but eliminate storage issues. Regardless of where on that spectrum one operates, however, every single request for content is processed under prior art approaches as if unique or sui generis. Stated differently, failure to detect and utilize duplications of requests for specific content and encoding/bitrate/encryption combinations increases the MSO's burden in servicing so many ostensibly unique requests.
Caching price points depend largely on recording technology such as hard drives (HDDs) and while more storage capacity is being added continually, demands for this storage space are also increasing due to functions such as personal and network DVR (pDVR, nDVR). Also, constraints on network devices such as transcoders and transraters may exist due to, e.g., cost, limitations on rack space, availability of other support equipment, latency, etc.
Moreover, in many instances, the range of decoding, bitrate, and encryption capabilities found within devices used in conjunction with broadband networks is increasing significantly with time. Not every device on the network will be known about ahead of time (including its attributes such as decoding capability, bitrate capability, and DRM), thereby often frustrating attempts at transforming content in advance. Such ad hoc content requests must therefore often be processed (i.e., the content transformed) “on-the-fly” in order to support such a large range of devices and capabilities.
Accordingly, it would be most desirable to implement methods and apparatus that allow the operator of a managed network to perform trade-off between server storage capacity and other network equipment (e.g., transcoding capability).